【Salesforce】(Tips) MavensMateでコンパイルが遅い、エラーになる場合の対処方法
はじめに
こんにちは植木和樹@上越妙高オフィスです。本日はSalesforceの開発環境として評判の良いMavensMateで遭遇した問題に対する備忘録です。
MavensMateとはSublimeTextやAtomといったエディタプラグインと、そのプラグインと連携しSalesforceへのAPI実行を仲介してくれるプロキシーサーバーで構成されています。ちなみにJavaのMavenとはまったく関係ないので pom ファイルの記述に苦労した方も怖がらずに使ってみてください。(私も最初勘違いしてました)
環境
- OSX El Capitan (10.11.6)
- SublimeText Stable Build 3126
- MavensMate v0.0.11-beta.7
インストール方法
インストールは前述の用にプロキシーサーバー(MavensMate Desktop)と、対応するエディタのプラグインをそれぞれ行います。特に複雑ではないので下記のページを参考に進めれば問題ないかと思います。
コンパイルが遅い
MavensMateを利用始めて最初に遭遇したのがコンパイルが遅い(!)という問題です。APEXやVisualforce 1ファイルをコンパイルするだけでも5分〜10分かかってしまうという問題です。
MavensMateのissueでもたびたび報告があがっているようで、ここで紹介されている「mm_compile_with_tooling_apiをオフにする」等いろいろ試してみましたが私の環境では解決しませんでした。
- MavensMate post 5.0 update sits compiling for 5+ minutes on every save · Issue #686 · joeferraro/MavensMate-SublimeText
- Saving Apex class very slow · Issue #52 · joeferraro/MavensMate
- Compilation is very slow (Apex, Visualforce, StaticRes) · Issue #631 · joeferraro/MavensMate
- Creating and saving/updating classes is very slow · Issue #676 · joeferraro/MavensMate
そこで試しにMavensMate logs location (mm_log_location) で指定されたディレクトリがなかったため作成してみたところ、その後コンパイルが遅くなることはなく快適に使えています。
同様の症状がでてお困りの方は試してみてはいかがでしょうか。
コンパイル時にエラーがでる
Visualforceで新規ページを作成すとエラーになる場合があります。
common.apex.runtime.bytecode.BytecodeApexObjectType
エラーが出た場合はCompile Apex/Visualforce metadata with Tooling API (mm_compile_with_tooling_api) をオフにすればOKです。
一度コンパイルが通るとなぜか2度目からはチェックをオンにした状態でも問題ありません。なのでエラーがでたらオフにしてコンパイルできたらオンにするといいんじゃないでしょうか。
まとめ
Salesforceの開発環境として "ブラウザでの開発者コンソール"→"Eclipse Force.com IDE"→"SublimeText + MavensMate"と移行してきましたが、MavensMate最高です。
キーボードショートカットを覚えるとさらに開発効率があがると思います。OSXの環境だと次のようなショートカットを多用しているので覚えておくと良いでしょう。
- 開いているファイルをコンパイル ... Control+Shift+s
- 開いているファイルのテストを実行 ... Control+Shift+a
- 関数の定義にジャンプ ... Command + r
SublimeText + MavensMateで快適なSalesforceライフを!